﻿using System;
using System.Collections.Generic;
using System.Text;
using Sinacor.Infra.Service.Validation;
using Sinacor.Infra.Service.Common;

namespace Sinacor.Servico.Bovespa.Corretagem.BusinessEntity
{
    /// <summary>
    /// Entidade de negocio TBOCORR_TAB_VAL
    /// </summary>
    public class Faixa : BaseBusinessEntity
    {
        #region Campos

        /// <summary>
        /// Campo _codigoTabelaPadrao
        /// </summary>
        private System.Int32 _codigoTabelaPadrao;

        /// <summary>
        /// Campo _baseCalculo
        /// </summary>
        private BaseCalculo _baseCalculo;

        /// <summary>
        /// Campo _sequencia
        /// </summary>
        private System.Int32 _sequencia;

        /// <summary>
        /// Campo _quantidadeValorFinal
        /// </summary>
        private System.Decimal? _quantidadeValorFinal;

        /// <summary>
        /// Campo _quantidadeValorInicial
        /// </summary>
        private System.Decimal? _quantidadeValorInicial;

        /// <summary>
        /// Campo _aliquota
        /// </summary>
        private System.Decimal? _aliquota;

        /// <summary>
        /// Campo _acrescimo
        /// </summary>
        private System.Decimal? _acrescimo;

        #endregion

        #region Construtores

        /// <summary>
        /// Construtor Faixa
        /// </summary>
        public Faixa()
        {

        }

        /// <summary>
        /// Construtor Faixa
        /// </summary>
        public Faixa(System.Int32 codigoTabelaPadrao, BaseCalculo baseCalculo, System.Int32 sequencia, System.Decimal quantidadeValorFinal, System.Decimal quantidadeValorInicial, System.Decimal aliquota, System.Decimal acrescimo)
        {
            this._codigoTabelaPadrao = codigoTabelaPadrao;
            this._baseCalculo = baseCalculo;
            this._sequencia = sequencia;
            this._quantidadeValorFinal = quantidadeValorFinal;
            this._quantidadeValorInicial = quantidadeValorInicial;
            this._aliquota = aliquota;
            this._acrescimo = acrescimo;
        }

        #endregion

        #region Propriedades

        /// <summary>
        /// Propriedade CodigoTabelaPadrao
        /// </summary>
        public System.Int32 CodigoTabelaPadrao
        {
            get { return this._codigoTabelaPadrao; }
            set { this._codigoTabelaPadrao = value; }
        }

        /// <summary>
        /// Propriedade BaseCalculo
        /// </summary>
        public BaseCalculo BaseCalculo
        {
            get { return this._baseCalculo; }
            set { this._baseCalculo = value; }
        }

        /// <summary>
        /// Propriedade Sequencia
        /// </summary>
        public System.Int32 Sequencia
        {
            get { return this._sequencia; }
            set { this._sequencia = value; }
        }

        /// <summary>
        /// Propriedade QuantidadeValorFinal
        /// </summary>
        public System.Decimal? QuantidadeValorFinal
        {
            get { return this._quantidadeValorFinal; }
            set { this._quantidadeValorFinal = value; }
        }

        /// <summary>
        /// Propriedade QuantidadeValorInicial
        /// </summary>
        public System.Decimal? QuantidadeValorInicial
        {
            get { return this._quantidadeValorInicial; }
            set { this._quantidadeValorInicial = value; }
        }

        /// <summary>
        /// Propriedade Aliquota
        /// </summary>
        public System.Decimal? Aliquota
        {
            get { return this._aliquota; }
            set { this._aliquota = value; }
        }

        /// <summary>
        /// Propriedade Acrescimo
        /// </summary>
        public System.Decimal? Acrescimo
        {
            get { return this._acrescimo; }
            set { this._acrescimo = value; }
        }

        #endregion
    }
}

